VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "IScreen"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'Interface: ISCreen
'====================================================================================
'This is an interface; not an actual class, but a set of functions a class can _
 implement to interoperate with code that works with mixed classes. Only the _
 function name and paramters is needed

'IScreen is an interface for the game screens such as the title screen, high score _
 screen and level screen. These are all different classes, but share this interface _
 allowing `Project.GameScreen` to 'snap-in' a screen as needed

Option Explicit

'Animate the elements on the game screen
Public Sub Animate(): End Sub

'Render the game screen to the form
Public Sub Render(ByVal hDC As Long): End Sub

'Render status display on the top status bar
Public Sub RenderTopBar(ByVal hDC As Long): End Sub

'Render status display on the bottom status bar
Public Sub RenderBottomBar(ByVal hDC As Long): End Sub

'Key press event passed from the form
Public Sub HandleKey(ByVal KeyCode As Integer, ByVal Shift As Integer): End Sub

'Mouse move event passed from the form
Public Sub HandleMouseMove(ByVal MouseX As Single, ByVal MouseY As Single): End Sub

'Mouse click event passed from the form
Public Sub HandleMouseClick(ByVal Button As Integer, ByVal Shift As Integer, ByVal MouseX As Integer, ByVal MouseY As Integer): End Sub

'=== END ============================================================================
'This work is licenced under the Creative Commons Attribution 2.5 License
